Logical Specifications for Functional Programs

نویسندگان

  • Theodore S. Norvell
  • Eric C. R. Hehner
چکیده

We present a formal method of functional program develop ment based on step by step transformation In their most abstract form speci cations are essentially predicates that relate the result of the speci ed program to the free variables of that pro gram In their most concrete form speci cations are simply programs in a functional programming language Development from abstract speci cations to programs is calculational Using logic in the speci cation language has many advantages Impor tantly it allows nondeterministic speci cations to be given and thus does not force overspeci cation

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semantic Determinism and Functional Logic Program Properties

In modern functional logic languages like Curry or Toy, programs are possibly non-confluent and nonterminating rewrite systems, defining possibly non-deterministic non-strict functions. Therefore, equational reasoning is not valid for deriving properties of such programs. In a previous work we showed how a mapping from CRWL –a well known logical framework for functional logic programming– into ...

متن کامل

Adapting functional programs to higher order logic

Higher-order logic proof systems combine functional programming with logic, providing functional programmers with a comfortable setting for the formalization of programs, specifications, and proofs. However, a possibly unfamiliar aspect of working in such an environment is that formally establishing program termination is necessary. In many cases, termination can be automatically proved, but th...

متن کامل

Compositional Compiler Correctness with Quantified Types

We define operational logical relations between terms of a polymorphically typed functional language and low-level programs for a variant SECD machine. The relations, defined using biorthogonality and step-indexing, give extensional and compositional specifications expressing when low-level code and machine values realize typed source-level terms. We prove the correctness of a compiler and of s...

متن کامل

Hoare Logic, Executable Specifications and Logic Programs

Starting from Hoare correctness formulae {P} S {Q} which define first-order predicates S by their preand postconditions P and Q, I formulate logic specifications S ↔ P ∧ Q for the predicates. Subsequently, I discuss two methods to construct logic programs from logic specifications. First, I simply derive programs as the if-halves of their logic specifications. These programs are concise, readab...

متن کامل

Realizing the Dependently Typed Λ-calculus

Dependently typed λ-calculi such as the Edinburgh Logical Framework (LF) can encode relationships between terms in types and can naturally capture correspondences between formulas and their proofs. Such calculi can also be given a logic programming interpretation: the system is based on such an interpretation of LF. We have considered whether a conventional logic programming language can also p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992